草庐IT

XPath 简介

全部标签

python - 如何选择所有子文本但不包括带有 Scapy 的 XPath 的标签?

我有这个html:Title1Sub-Title1Description1.Description2.Sub-Title2Description1Description2InformationTitleLongInformationText我想获取中的所有文本在Scrapy中使用XPath但不包括的内容,所以预期的结果是这样的:Title1Sub-Title1Descripton1.Descripton2.Sub-Title2Descripton1.Descripton2.但我还没有达到排除部分,我还在努力从中获取文本.我试过这个:response.xpath('//*[@id="co

javascript - 如何通过单击 html 元素获取 xpath

我是编程新手,必须在单击html元素时生成Xpath。例如:如果我点击了用户名的文本框,那么它应该给我xpath之类的html/head/body/tr[1]/table[2].....等等。主要是我不能使用firebug,因为我的应用程序完全可以在IE上运行。我已经看到很多fxn获取xpath并尝试集成它,但我没有得到返回值。我使用jqueryclick()函数检索值的简单代码片段不起作用。问题是我无法在函数中传递html元素。我仅从该站点获取的xpath函数。我的代码如下。clickdemop{color:red;margin:5px;cursor:pointer;}p:hover

html - 混合内容 html 跨度的 selenium xpath 抓取

我正在尝试抓取具有混合内容的span元素boldtitletextherethatIwanttograb....这是识别跨度的抓取代码片段。它可以毫无问题地拾取它,但是网络元素的文本字段是空白的。IWebDriverdriver=newFirefoxDriver();driver.Navigate().GoToUrl("http://page-to-examine.com");varquery=driver.FindElement(By.XPath("//span[@id='span-id']"));我已经尝试将/text()添加到同样不返回任何内容的表达式中。如果我添加/b我确实得到

html - XPath/XSLT 删除空标签

我想删除仅包含空格/换行符/制表符的标签,如下所示:您将如何使用xpath函数和xslt模板执行此操作? 最佳答案 此转换(覆盖identityrule):应用于以下XML文档时:Text正确产生想要的结果:Text记住:使用和覆盖身份规则/模板是最基本和最强大的XSLT设计模式。对于大多数节点要原封不动地复制而只有某些特定节点需要更改、删除、重命名……等的各种问题,这是正确的选择。注意:@Abel在他的评论中建议需要进一步解释此解决方案的某些部分:Fortheuninitiatedorcurious:not(*)means:not

html - XPath 适用于 HTML5 格式吗?

我们知道XPath是为XML解析而创建的。HTML5怎么样,因为它不一定遵守XML规则? 最佳答案 有2种XML:词法XML和解析XML。XPath适用于已解析的XML表示,例如DOM或XDM.因此,您可以从LexicalHTML5创建解析的XML,这样您就可以使用XPath查询HTML5。 关于html-XPath适用于HTML5格式吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questi

python - WebElement 上的 Selenium WebDriver "find_element_by_xpath"

我正在尝试使用以下行查找元素:elements=driver.find_elements_by_xpath("//div[@class='Display']")一旦我有了我知道有两个“显示”的元素,我希望能够使用第二个并在其中找到一个特定的元素,如下所示:title=elements[1].find_element_by_xpath("//div[@class='Title']")但是,它总是恢复到使用第一个。我已经逐步完成它,它正在为“显示”找到2个元素,所以我不确定我做错了什么。如有任何帮助,我们将不胜感激。 最佳答案 我想你想

java - 如何在 XSLT 中使用 XPath 获取元素数组,包括缺失的元素?

给定以下符合XML的HTML:a1b1b2a3b3c3正在做//a将返回:[a1,a3]上面的问题是第三列数据现在排在第二位,当找不到A时,它会被完全跳过。如何表达一个xpath来获取所有将返回的A元素:[a1,null,a3]//c的情况相同,请问有没有可能得到[null,null,c3]更新:考虑另一种没有共同parent的情况.heading1a1b1heading2b2heading3a3b3c3更新:我现在也可以使用XSLT。 最佳答案 XPath中没有空值。这里有一个半相关的问题也解释了这一点:http://www.ve

html - 使用 xpath 查找具有特定内容的跨度

我有一些跨度是这样的:foobarthisisatest我正在尝试使用xpath查找其中包含“thisisatest”的范围。我已经试过了:span[text()='thisisatest']它似乎并没有起作用。 最佳答案 您在XPath的开头缺少//。一个斜杠表示“作为根节点子节点的跨度”。两个斜线表示“找到该文本的任何范围”。//span[text()='thisisatest'] 关于html-使用xpath查找具有特定内容的跨度,我们在StackOverflow上找到一个类似的问

html - 在 XPath 中测试 text() 节点与字符串值

我有一个节点如下:OfficeHours对于我使用的XPath//span[text()='OfficeHours']这应该有效,但它从来没有。我可以使用*contains(text(),'OfficeHours')]*但这不会找到完全匹配,我必须验证没有“*”。这不是唯一一次对我不起作用。我以前见过它工作,所以我不知道出了什么问题。有什么想法吗?是的,我可以并且确实使用starts-with,但它并不完全相同。 最佳答案 XPathtext()=不同于XPath.=(匹配文本节点与匹配字符串值不同)以下XPath不相同...//s

python - BeautifulSoup 提取节点的 XPATH 或 CSS 路径

我想从HTML中提取一些数据,然后能够在客户端突出显示提取的元素,而无需修改源html。XPath或CSSPath看起来很适合这个。是否可以直接从BeautifulSoup中提取XPATH或CSS路径?现在我使用目标元素的标记,然后使用lxml库来提取xpath,这对性能非常不利。我知道BSXPath.py——它不适用于BS4。由于复杂性,重写所有内容以使用原生lxml库的解决方案是NotAcceptable。importbs4importcStringIOimportrandomfromlxmlimportetreedefget_xpath(soup,element):_id=ran